bootstrapped with an initial channel known as the system channel.
Orderers maintain a list of organizations or the consortium that can
create the channels. The orderer service can configure the orderer
nodes in three different ways, i.e. Solo, Kafka, and Raft.
13.1.7.1 Solo
Solo was the default configuration with just one orderer node, ideal
for development and testing, butit was deprecated in version 2.x.
13.1.7.2 Apache Kafka
Kafka was introduced with the Fabric version 1.0 and was supported
till version 2.x, post which, it was deprecated as well for its
associated difficulties and need for high expertise in administration.
13.1.7.3 Raft
Raft is the latest addition that follows a leader and follower model to
choose a leader node per channel to take the decisions that would
be replicated to the other nodes. It’s much simpler and easier to
work with and needs less expertise than Kafka.
13.1.8 Smart Contract (Chaincode)
Just like any other Blockchain or DLT, Fabric too has its own smart
contract that defines the rules against which the transactions are
validated before getting endorsed and committed to a ledger. Hence,
every smart contract is associated with an endorsement policy that
finds out the organization that must approve the transactions before
they are considered valid.
Once the smart contract is packaged, it is called Chaincode that has
to be deployed to the Blockchain network.
13.2 Consensus and Fabric End-To-End
Transaction Flow